"Stored Program" Electronic Switching Systems
Electromechanical switches, which set up calls by processing each digit as it is dialed, have largely been replaced by electronic switches, such as the 5ESS switch (5ESS is a registered trademark of AT&T Corp) available from AT&T Network Systems, 475 South Street, Morristown, N.J. Such electronic switches use "stored programs" to store a complete sequence of dialed digits, then to analyze it, and finally to switch the call. This invention concerns the administrative entry and manipulation of data which determines the call processing operation of the switch.
A call may be any transmission or broadcast, either connection-oriented or connectionless, carried by the telecommunications system, with or without a physical connection, regardless of content, whether voice, data, video or audio.
There are four major modules to call processing during call set up of a dialed or signaled telephone number: (i) origination--which determines what type of equipment is trying to initiate the call; (ii) digit analysis--which determines how to treat the call defined by the telephone number's dialed or signaled digits sequence; treatment can be routing, billing, storing, or any form of processing whatsoever; (iii) routing and charging--which physically switches the call and establishes how to bill it; and (iv) termination--which is signalling across the telecommunications system through intermediate trunks, switches and lines to the terminal equipment defined by the telephone number, alerting the terminal equipment to the incoming call and holding the line from pickup until disconnect. Call tear down is the disassembly of the call process.
Specifications for digit analysis are conveniently expressed as trees, with the first digit dialed being at the root, the possible second digits which can be dialed as the first level of branches from the root, the possible third digits which can dialed as the next level of branches extending from each possible second digit, and so forth. By convention, the root of the tree is shown at the top with the branches pointing downward.
Definition of Terms Within the Tree Allegory
Likewise, a "tree" is a term used commonly in computer science, and denotes a formal hierarchical structure on a collection of items. A tree is defined as a finite collection of elements called nodes, one of which is distinguished as a root, along with a lineage relation ("parent"; "child"), between pairs of nodes such that every node has just one parent except the root which has none. Suppose T1, T2, . . . , Tk are trees, and each tree is rooted at a node N1, N2, . . . , Nk, respectively. A root is the only node in a tree which does not have a parent. Coincidentally, a root may be a leaf if the tree consists of only a single node. A leaf is a node in a tree which has no children and therefore has no descendants of any kind. If the root has children, it is said to be a branch. Each root node N1, N2, . . . , Nk therefore is also either a branch or a leaf. We can construct a new tree Ti by making N be the parent of nodes N1, N2, . . . , Nk. In this tree, N is the root and T1, T2, . . . , Tk are either branches of the root or leaves. Nodes N1, N2, . . . , Nk are called the children of node N while N is the parent of nodes N1, N2, . . . , Nk. Assume that node N2 is followed by nodes N2i, N2ii, . . . , N2x. In such a case, node N2 is a branch and nodes N2i, N2ii, . . . , N2x are leaves, that is, there are no subsequent nodes following any of them. N is the grandparent of N2i, N2ii, . . . , N2x, which are conversely its grandchildren and N2 is the parent of N2i, N2ii, . . . , N2x, which are conversely its children.
Common practice is to draw a node as a geometric shape, such as a circle, with a label or value enclosed or to the side. The parent relation is depicted by drawing a line from the parent to each of its children. This line is usually called an "edge" or an "arc".
Trees Representing Digit Analysis Specifications
With ten potentially dialable digits, 1-9 and 0, and two symbols, * and #, a tree used to represent digit analysis data would most likely consist of denary nodes--each node having at most ten children--or duodenary nodes--each node having at most twelve children. A denary node can represent a point in a sequence of digits at which the next digit may be one of ten choices: 0,1,2, . . . , 9. A duodenary node is similar, but also permits the symbols * and # as potential children. Each branch base of the tree is a node, the root node, and at each node there are ten branches in a denary node tree. In a denary node forest, there are 10 trees, each with up to ten branches at every level and potentially as many branch levels as the number of digits that may be dialed in sequence in a numbering plan. For example, in the North American numbering plan, at most ten digits are permitted in a telephone number, the dialed forward number sequence, so digit analysis trees in a North American numbering system forest need no more than 10 levels of branches. In a duodenary node forest, there are 12 trees, each with up to twelve branches at every level and potentially as many branch levels as the number of digits that may be dialed in sequence in a numbering plan.
Digit analysis trees vary from switch to switch. Consider a local digit interpretation tree, referred to as an LDIT tree. While there are 10 types of LDIT trees, the LDIT trees in each switch's database have full foliage only for those phone numbers for which the switch is the serving switch, i.e., the switch routing the call along a line to the intended subscriber's destination terminal, because only a serving switch processes a call along a line to its served subscribers, and hence performs the digit analysis on the last four digits in the dialed telephone number sequence. Non-serving switches analyzing the same digits terminate in the designation of the switch which is the serving switch.
A Failure of Visual Representation to Match Mental Image
Although digit analysis specifications are most conveniently represented as a tree, the current state of the art in telecommunications systems is to represent digit analysis as a list of terminating paths in the tree. The conventional manifestation of a tree for presentation and manipulation of digit analysis specification data to a human administrator is in the form of a table of digits which bears no resemblance to a tree. Such tables lack any explicit representation of digit analysis data as a tree and contain no visual cues which show a linkage between nodes. Moreover, the administrator must add or delete node branches or leaves to or from trees by identifying each affected node individually, then making the change individually with numeric entry and add or delete commands. Changes to routing or charging must be made by accessing the routing or charging indexes maintained separately from the nodes.
Thus any changes made by a human administrator are both poorly reflected in the interface display and the method of implementing changes primitive, making the administrator's maintenance of digit analysis specifications unwieldy and slow.
There is therefore a need for a telecommunications interface that presents a visual representation more in keeping with the human administrator's mental image of the digit interpretation tree; that facilitates modifying the trees; that acts upon several types of trees while retaining clear visual representation of the tree; that constructs and manipulates large groups of trees, branches and leaves; that presents information embedded in the tree; and that presents information and data so that the administrator can easily use it.
Solution
The foregoing problems and needs are met by the present invention which provides in a telecommunications system an operation support system capable of pictorial representations of digit analysis specifications in the form of trees, that deals with call connection data embedded in the trees, that manipulates digit analysis specifications and call connection data through the manipulation of symbols to which the specifications and data are linked rather than by direct manipulation of the specifications and data sets themselves, that does in addition provide for direct manipulation of the specifications and data sets themselves, and that allows the manipulation of large groups of trees, branches and leaves rather than only individual nodes, to construct and manipulate the nodes and branches comprising each tree to add, modify and delete digit analysis specifications and call connection data sets for each switch served by the operations support system.
Four Forests of Digit Interpretation Trees Served
The instant invention recognizes that four forests of trees are involved in digit analysis.
The first forest is composed of Local Digit Interpretation Trees (LDITs). Assuming a denary dialing system, there are ten trees in the forest. LDITs provide the switch the capability of determining the line to be used to reach termination subscribers served by that switch, essentially focusing on the dialed digits which identify the subscriber's terminal equipment. In the North American dialing plan of 10 digits made up of a three digit NPA number, a three digit NXX number, and a four digit XXXX number, the last four digits dialed are the subscriber's terminal equipment number. Returning to the tree analogy, LDITs are full foliage trees within the serving switch since they deal with the last four digits dialed in a telephone number.
The second forest is composed of Preliminary Digit Interpretation Trees (PDITs). PDITs are used to strip off prefixes in a line origination call which have meaning to call processing--typically called 1+ dialing and 0+ dialing--handing the telephone number dialed forward to the appropriate LDIT along with a tag which identifies to the LDIT that the call is of a specific type, for example, a credit card call. PDITs are duodenary trees capable of recognizing the symbols "*" and "#" in addition to the ten digits found on a keypad and hence the forest contains twelve trees. A PDIT is used to trigger either analysis by an LDIT and a line origination by the local serving switch in the instance where the caller and the intended call recipient are served by the same local switch, or call forwarding along a trunk to another switch for further digit analysis and call processing.
The third forest is composed of Incoming Trunk Digit Interpretation Trees (INDITs). INDITs are used to strip off prefixes which have meaning for incoming trunk signaling, typically Feature Group B and D prefixes. INDITs pass the dialed in-pulsed digits to the LDIT to determine whether the call can be terminated through the local switch or must be sent on along a trunk to another switch. Among other things, the INDIT has a trunk table which helps it direct calls out from the switch by basically indicating whether there is a direct trunk to a specified switch or whether intermediate trunks and switches must be utilized.
The fourth forest is composed of Remaining Digit Interpretation Trees (RDITs) which analyze dialed digits for an embedded dial stream and which provide a linear approach to arriving at routing information. The RDIT forest is entered from an LDIT tree by a marker at a node indicating that the call should jump from the LDIT to a specified RDIT. If the RDIT is successful in determining call routing utilizing its linear approach, the call will be connected accordingly; if not, the call will jump back to the original LDIT and digit analysis for call completion will proceed according to the LDIT branches.
FIG. 1 conceptualizes the interaction of the four types of digit interpretation trees by which each switch either terminates a dialed call locally or decides that the dialed call is not in the served local area. If the dialed call is not in the served local area, the switch selects a trunk to the next best switch and tries to connect the call according to the trunk routing table, seizing the appropriate connecting trunk and pulsing out the call along the trunk to that next best switch.
Operations Support System--Switch Digit Interpretation Trees Supported by a Centralized Database
In accordance with the present invention, a computer-based operations support system (OSS) supports digit interpretation trees stored both in the OSS itself as well as in each switch database served by the OSS. Maintaining digit interpretation trees on the OSS of the present invention permits saving space on the served switches for call processing, and by gathering data from many different switches, the OSS presents to an administrator a network view rather than the isolated view of a single switch and permits the use of more elaborate tools to support network operations.
The switch database is used for call processing while the OSS is used to administer the databases for the switches served. The reason for this is that the modern stored program switch has half of its behavior determined by stored software which is table driven--it contains tables that determine the behavior of the switch depending upon different circumstances. The switch database is this collection of tables.
"Recent Changes" is industry nomenclature for any change to any of the switch tables.
Operations Support System Attributes
According to the present invention, the OSS is comprised of a computer having a display monitor, a keyboard, a mouse, a central processing unit (CPU), memory, software which establishes a database in memory and other software which graphically displays information resident in the database on the monitor in a predetermined fashion and allows manipulation of that information through commands entered by the mouse.
The present invention utilizes a novel technique to display and manipulate a digit interpretation tree to dramatically improve comprehension and manipulation by the human administrator. A conventional practice, in the example of a denary tree, is to display the root node and each of its ten children joined to the root by an edge, and each of its hundred grandchildren joined to its ten children by edges, ten per child. In such a scheme it is nearly impossible to display the third level, because a thousand nodes are barely distinguishable on the same display screen.
In contrast, under the novel approach of the instant invention, user interaction becomes very easy by limiting the number of trees displayed and by limiting the display to the lineage from the root node to the node of interest along with its children, the node of interest and its lineage to the root displayed in a first row and the children of the node of interest displayed in a second row.
Our invention is implementable with existing technology and equipment and takes advantage of current digit analysis techniques and recognizes the existence of interrelated separate tables for various pieces of the call process such as routing and billing and the existence of Centrex service blocks in manipulating groups of information through the manipulation of associated symbols and in manipulating specific data through keyed input.
In accordance with one aspect of our invention, a telecommunications system is provided with an operations support system including a computer-based workstation and a centralized database which contains LDIT, PDIT, INDIT and RDIT specification trees for each served switch.
In accordance with another aspect of our invention, digit analysis specifications and call connection data are associated with symbols for nodes and branches comprising the specification trees, the symbols being displayed rather than the specifications and call connection data sets each represents.
In accordance with yet another aspect of our invention, an operations support system displays for a node of interest its lineage to the tree root and the node's existing and potential children, subsequently referred to as a subtree, utilizing edges to show existing paths and symbols such as circles, squares or triangles to denote different nodes and the nature of the node.
In accordance with still another aspect of our invention, the operations support system displays two subtrees at a time and allows the independent manipulation of either of the displayed trees independent of the other displayed tree.
In accordance with a further aspect of our invention, the manipulation of data is accomplished by command buttons, activated by a mouse.
In accordance with still further aspect of our invention, the proper manipulation of data is provided further assurance by memory buffers that store the most recent manipulation introduced in a call connection information set until the administrator is satisfied that the update is correct and only then updates the database at the command of the administrator.
In accordance with a yet further aspect of our invention, tabular information regarding NXX numbers and Routing Table Information is displayed adjacent the displayed subtrees for manipulation.
In accordance with another aspect of our invention, tabular information is manipulated by mouse movements and commands in conjunction with pull down windows, the last manipulation of the table stored in buffer memory until the administrator is satisfied with the manipulation then related back to a subtree and node on interest.